<?php

/**
 * Project:     CuteView: the PHP template engine
 * File:        CuteView.php
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * For questions, help, comments, discussion, etc., please contact the author
 *
 * @copyright 2007-2007 blizzchris
 * @author Chris Yue <blizzchris@gmail.com>
 * @package CuteView
 * @version 1.071222 beta
 */


class CuteView
{	
	private function __construct()
	{
		
	}
	
	/**
	 * get CuteView template Engine,
	 * you can choose the one you like:
	 * 'Dynamic' to compile a php file to ignore recomipling
	 * 'Static'  to generate a html file to ignore reloading from database
	 * or just 'nocache' to do nothing more than directly outputting the final page
	 *
	 * @param string $type
	 * @return CuteViewEngine
	 */
	public function getTemplateEngine($type = "")
	{
		$type = ucwords(strtolower($type));
		
		if ( $type !== 'Dynamic' && $type !== 'Static' )
		{
			$class_name = "CuteViewDirectOutputEngine";
		}
		else 
		{
			$class_name = "CuteView{$type}CacheEngine";
		}
		
		require_once("Mods/{$class_name}.php");
		return new $class_name;
	}
}